package com.xhsj.user.hr.process.hrInterviewRegistration.entity;

import java.math.BigDecimal;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xhsj.user.hr.base.BaseEntity;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.Version;
import java.time.LocalDateTime;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * hr面试记录登记表
 * </p>
 *
 * @author liuqinghua
 * @since 2020-09-04
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tb_hr_interview_registration")
public class TbHrInterviewRegistration extends BaseEntity<TbHrInterviewRegistration> {

    private static final long serialVersionUID = 1L;

    /**
     * 姓名
     */
    @TableField("real_name")
    private String realName;

    /**
     * 部门id 逻辑外键 tb_global_organization 表id
     */
    @TableField("department_id")
    private Integer departmentId;

    /**
     * 职位id 逻辑外键 tb_global_organization 表id
     */
    @TableField("position_id")
    private Integer positionId;

    /**
     * 性别 0-男 1-女
     */
    @TableField("sex")
    private Integer sex;

    /**
     * 出生年月
     */
    @TableField("birthday")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date birthday;

    /**
     * 民族
     */
    @TableField("nation")
    private String nation;

    /**
     * 籍贯
     */
    @TableField("birth_place")
    private String birthPlace;

    /**
     * 最高学历
     */
    @TableField("highest_education")
    private String highestEducation;

    /**
     * 专业
     */
    @TableField("profession")
    private String profession;

    /**
     * 政治面貌
     */
    @TableField("politics_status")
    private String politicsStatus;

    /**
     * 工作年限
     */
    @TableField("years_working")
    private String yearsWorking;

    /**
     * 婚姻状况
     */
    @TableField("marital_status")
    private String maritalStatus;

    /**
     * 身份证号
     */
    @TableField("id_card")
    private String idCard;

    /**
     * 身高
     */
    @TableField("height")
    private BigDecimal height;

    /**
     * 体重
     */
    @TableField("weight")
    private BigDecimal weight;

    /**
     * 健康状况
     */
    @TableField("health_status")
    private String healthStatus;

    /**
     * 户口所在地
     */
    @TableField("hk_address")
    private String hkAddress;

    /**
     * 户口性质 0农业 1非农
     */
    @TableField("hk_type")
    private Integer hkType;

    /**
     * 手机号
     */
    @TableField("phone_number")
    private String phoneNumber;

    /**
     * 邮箱
     */
    @TableField("email")
    private String email;

    /**
     * qq
     */
    @TableField("qq")
    private String qq;

    /**
     * 家庭住址
     */
    @TableField("home_address")
    private String homeAddress;

    /**
     * 家庭住址邮编
     */
    @TableField("home_code")
    private String homeCode;

    /**
     * 现住址
     */
    @TableField("present_address")
    private String presentAddress;

    /**
     * 现住址邮编
     */
    @TableField("present_code")
    private String presentCode;

    /**
     * 紧急联系人
     */
    @TableField("emergency_contact")
    private String emergencyContact;

    /**
     * 关系
     */
    @TableField("relation")
    private String relation;

    /**
     * 紧急联系电话
     */
    @TableField("emergency_phone")
    private String emergencyPhone;

    /**
     * 外语能力0一般 1熟练 2精通
     */
    @TableField("foreign_ability")
    private Integer foreignAbility;

    /**
     * 是否内推 0无 1有
     */
    @TableField("is_neitui")
    private Integer isNeitui;

    /**
     * 内推人id  逻辑外键关联表 tb_global_user
     */
    @TableField("neitui_id")
    private Integer neituiId;

    /**
     * 期望薪资
     */
    @TableField("expected_salary")
    private String expectedSalary;

    /**
     * 预计到岗时间
     */
    @TableField("expected_arrival_date")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date expectedArrivalDate;

    /**
     * 初试时间
     */
    @TableField("first_date")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date firstDate;

    /**
     * 复试时间
     */
    @TableField("second_date")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date secondDate;

    /**
     * 是否通过面试（初试）0通过 1未通过
     */
    @TableField("is_pass")
    private Integer isPass;

    /**
     * 通过拒绝原因
     */
    @TableField("reason")
    private String reason;

    /**
     * 确定薪资
     */
    @TableField("salary")
    private BigDecimal salary;

    /**
     * 确定到岗时间
     */
    @TableField("arrival_date")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date arrivalDate;

    /**
     * 是否办理入职 默认未办理
     */
    @TableField("is_entry")
    private Integer isEntry;

    /**
     * 头像名称
     */
    @TableField(value = "photo_name",strategy = FieldStrategy.IGNORED)
    private String photoName;

    /**
     * 头像地址
     */
    @TableField(value = "photo_url",strategy = FieldStrategy.IGNORED)
    private String photoUrl;

    /**
     * 头像删除地址
     */
    @TableField(value = "photo_del_url",strategy = FieldStrategy.IGNORED)
    private String photoDelUrl;

    /**
     * 部门名称
     */
    @TableField("department_name")
    private String departmentName;

    /**
     * 职位名称
     */
    @TableField("position_name")
    private String positionName;

    /**
     * 内推人名
     */
    @TableField("neitui_name")
    private String neituiName;

    /**
     * 提交状态 0 保存 1提交
     */
    @TableField("submit_stauts")
    private Integer submitStauts;

    @TableField(exist = false)
    private Integer isPeriod = 0;

    @TableField(exist = false)
    private Integer probationPeriod = 6;



}
